package org.linlinjava.litemall.db.dao;

import org.apache.ibatis.annotations.Param;
import org.linlinjava.litemall.db.domain.LitemallGoods;
import org.linlinjava.litemall.db.vo.RecommendedBooksVO;

import java.util.List;

/**
 * @author Administrator
 */
public interface GoodsMapper {

    List<LitemallGoods> queryByNameList(List<String> nameArr);

    /**
     * 猜你喜欢
     *
     * @param limit
     * @param keyword
     * @return
     */
    LitemallGoods queryGuessYouLike(@Param("limit") Integer limit, @Param("keyword") String keyword);

    /**
     * 查询可借的书的列表
     *
     * @return
     */
    List<LitemallGoods> queryByCanBorrow(@Param("begin") Integer begin, @Param("limit") Integer limit, @Param("sort") String sort, @Param("order") String order);

    /**
     * 查询旧的可借书
     *
     * @param begin
     * @param limit
     * @param sort
     * @param order
     * @return
     */
    List<RecommendedBooksVO> queryOldAndCanBorrow(@Param("begin") Integer begin, @Param("limit") Integer limit, @Param("sort") String sort, @Param("order") String order);

    Long countOldAndCanBorrowTotalNumber();

    /**
     * 通过关键字 模糊查询可借的书的列表
     *
     * @param keyword
     * @param begin
     * @param limit
     * @param sort
     * @param order
     * @return
     */
    List<LitemallGoods> queryByCanBorrowAndKeyword(@Param("keyword") String keyword, @Param("begin") Integer begin, @Param("limit") Integer limit, @Param("sort") String sort, @Param("order") String order);
    Long counCanBorrowAndKeywordTotalNumber();
}
